package com.site.wisdom_construction.dao.safetyModule;

import com.site.wisdom_construction.entity.safetyModule.SafetyDangerRecord;
import com.site.wisdom_construction.statisticsResult.MonthValue;

import java.util.List;
import java.util.Map;

/**
 * @Author daiyifei
 * @Date 2022/1/11
 * @Description
 */
public interface SafetyDangerRecordDao {
    /** 增加安全隐患记录信息_PC */
    int insertSafetyDangerRecordByPc(Map map);

    /** 增加安全隐患记录信息_APP */
    int insertSafetyDangerRecordByApp(Map map);

    /** 删除安全隐患记录信息 */
    int deleteSafetyDangerRecord(Map map);

    /** 修改安全隐患记录 */
    int updateSafetyDangerRecord(Map map);

    /** 整改上报 */
    int updateSafetyDangerRecordByReport(Map map);

    /** 整改验收 */
    int updateSafetyDangerRecordByAccept(Map map);

    /** 分页模糊查询安全隐患记录信息 */
    List<SafetyDangerRecord> findSafetyDangerRecordByPage(Map map);

    /** 统计总数(分页) */
    long Total(Map map);

    /** 查询全部安全隐患记录 */
    List<SafetyDangerRecord> selectSafetyDangerRecord(Map map);

    /** 根据id查询安全隐患记录 */
    List<SafetyDangerRecord> findSafetyDangerRecordById(Map map);

    /** 查询对应安管人员上传的安全隐患记录 */
    List<SafetyDangerRecord> findSafetyDangerRecordByManagerialId(Map map);

    /** 统计安管人员上传的安全隐患总数 */
    long totalByManagerialId(Map map);

    /** 查询劳务人员对应的安全隐患记录 */
    List<SafetyDangerRecord> findSafetyDangerRecordByWorkersId(Map map);

    /** 统计劳务人员对应的安全隐患总数 */
    long totalByWorkersId(Map map);

    /** 安全管理趋势统计人员总数 */
    Integer countAllByProjectId(Map map);

    /** 安全隐患趋势 */
    List<MonthValue> countSafetyDangerRecord(Map map);
}
